<!DOCTYPE html>
<html lang=zh-CN>
<head>
<meta charset=utf-8>
<title>IPv4 - 维基百科 | Cweili Beta</title>
<meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<meta name=description content="互联网协议版本 4（英语 ：Internet Protocol version 4，IPv4）是 互联网协议  开发过程中的第四个修订版本，也是此协议第一个被广泛部署的版本。IPv4 与 IPv6 均是标准化互联网络的核心部分。IPv4 依然是使用最广泛的互联网协议版本，直到 2011 年，IPv6 仍处在部署的初期。">
<meta property=og:type content=article>
<meta property=og:title content="IPv4 - 维基百科">
<meta property=og:url content="http://cweili.gitcafe.com/ipv4-wikipedia/">
<meta property=og:site_name content="Cweili Beta">
<meta property=og:description content="互联网协议版本 4（英语 ：Internet Protocol version 4，IPv4）是 互联网协议  开发过程中的第四个修订版本，也是此协议第一个被广泛部署的版本。IPv4 与 IPv6 均是标准化互联网络的核心部分。IPv4 依然是使用最广泛的互联网协议版本，直到 2011 年，IPv6 仍处在部署的初期。">
<meta name=twitter:card content=summary>
<meta name=twitter:title content="IPv4 - 维基百科">
<meta name=twitter:description content="互联网协议版本 4（英语 ：Internet Protocol version 4，IPv4）是 互联网协议  开发过程中的第四个修订版本，也是此协议第一个被广泛部署的版本。IPv4 与 IPv6 均是标准化互联网络的核心部分。IPv4 依然是使用最广泛的互联网协议版本，直到 2011 年，IPv6 仍处在部署的初期。">
<link rel=alternative href=/atom.xml title="Cweili Beta" type=application/atom+xml>
<link rel=icon href=favicon.png>
<link rel=stylesheet href=//libs.baidu.com/bootstrap/3.2.0/css/bootstrap.min.css type=text/css>
<link rel=stylesheet href=../css/style.css type=text/css>
<!--[if lt IE 9]><script src="//cdn.staticfile.org/html5shiv/3.7/html5shiv.min.js" type="text/javascript"></script><![endif]-->
</head>
<body>
<div id=container>
<nav id=mobile-nav class=visible-xs>
<a href="/" class=mobile-nav-link>首页</a>
<ul class=category-list><li class=category-list-item><a class=category-list-link href=../category/学习笔记>学习笔记</a><span class=category-list-count>40</span></li><li class=category-list-item><a class=category-list-link href=../category/小生活>小生活</a><span class=category-list-count>27</span></li><li class=category-list-item><a class=category-list-link href=../category/杂物>杂物</a><span class=category-list-count>9</span></li></ul>
<a href="/tag/%E7%9B%B8%E5%86%8C/" class=mobile-nav-link>相册</a>
<a href="/about/" class=mobile-nav-link>关于</a>
<div class=clearfix></div>
</nav>
<div id=wrap>
<!--[if lt IE 9]><p class="browsehappy alert alert-danger">您正在使用一个<strong>过时</strong>的浏览器。请<a href="http://browsehappy.com/" target="_blank">更新您的浏览器</a>来达到更好的体验。</p><![endif]-->
<header id=header>
<div id=banner></div>
<div id=header-outer class=outer>
<div id=header-inner class=inner>
<nav class=main-nav>
<div id=main-nav-toggle class="nav-icon visible-xs"><i class="fa fa-bars"></i></div>
<a class="main-nav-link hidden-xs" href="/">首页</a>
</nav>
<nav id=category-nav class=hidden-xs>
<ul class=category-list><li class=category-list-item><a class=category-list-link href=../category/学习笔记>学习笔记</a><span class=category-list-count>40</span></li><li class=category-list-item><a class=category-list-link href=../category/小生活>小生活</a><span class=category-list-count>27</span></li><li class=category-list-item><a class=category-list-link href=../category/杂物>杂物</a><span class=category-list-count>9</span></li></ul>
</nav>
<nav class="main-nav hidden-xs">
<a class=main-nav-link href="/tag/%E7%9B%B8%E5%86%8C/">相册</a>
<a class=main-nav-link href="/about/">关于</a>
</nav>
<nav id=sub-nav>
<a id=nav-rss-link class="nav-icon pull-right hidden-xs" href=/atom.xml title="RSS 订阅"><i class="fa fa-rss"></i></a>
<div id=nav-search-btn class="nav-icon pull-right" title=搜索><i class="fa fa-search"></i></div>
</nav>
<div id=search-form-wrap>
<form action=http://www.baidu.com/baidu accept-charset=utf-8 class=search-form target=_blank>
<input type=search name=word class=search-form-input placeholder=搜索>
<input id=search-form-submit type=submit value=&nbsp; class=search-form-submit>
<input name=tn type=hidden value=bds>
<input name=cl type=hidden value=3>
<input name=ct type=hidden value=2097152>
<input type=hidden name=si value=cweili.gitcafe.com>
<label class=search-form-submit for=search-form-submit><i class="fa fa-search"></i></label>
</form>
</div>
</div>
<div id=header-title class=inner>
<h1 id=logo-wrap>
<a href="/" id=logo>Cweili Beta</a>
</h1>
<h2 id=subtitle-wrap>
<a href="/" id=subtitle>I&#39;m working on it</a>
</h2>
</div>
</div>
</header>
<div class=outer>
<section id=main class=col-sm-9><article id=post-ipv4-wikipedia class="article article-type-post" itemscope itemprop=blogPost>
<div class=article-meta>
<a href="/ipv4-wikipedia/" class=article-date>
<time datetime=2011-10-07T15:27:43.000Z itemprop=datePublished>2011-10-07</time>
</a>
<div class=article-category>
<a class=article-category-link href=../category/学习笔记>学习笔记</a>
</div>
</div>
<div class="article-inner jiathis_streak">
<header class=article-header>
<h2 class=article-title itemprop=name>
IPv4 - 维基百科
</h2>
</header>
<div class=article-entry itemprop=articleBody>
<div lang=zh dir=ltr><br><br><strong>互联网协议版本 4</strong>（<a href=http://zh.wikipedia.org/wiki/%E8%8B%B1%E8%AF%AD title=英语 target=_blank rel=external>英语 </a>：<strong>Internet Protocol version 4</strong>，<strong>IPv4</strong>）是<a href=http://zh.wikipedia.org/wiki/%E4%BA%92%E8%81%94%E7%BD%91%E5%8D%8F%E8%AE%AE title=互联网协议 target=_blank rel=external> 互联网协议 </a> 开发过程中的第四个修订版本，也是此协议第一个被广泛部署的版本。IPv4 与 <a href=http://zh.wikipedia.org/wiki/IPv6 title=IPv6 target=_blank rel=external>IPv6</a> 均是标准化互联网络的核心部分。IPv4 依然是使用最广泛的互联网协议版本，直到 <a href=http://zh.wikipedia.org/wiki/2011%E5%B9%B4 title="2011 年" target=_blank rel=external>2011 年</a>，IPv6 仍处在部署的初期。<br><a id=more></a><br>IPv4 在<a href=http://zh.wikipedia.org/wiki/IETF title=IETF target=_blank rel=external>IETF</a> 于<a href=http://zh.wikipedia.org/wiki/1981%E5%B9%B4 title="1981 年" target=_blank rel=external>1981 年 </a>9 月发布的<a href=http://tools.ietf.org/html/rfc791 target=_blank rel=external>RFC 791</a> 中被描述，此 RFC 替换了于 <a href=http://zh.wikipedia.org/wiki/1980%E5%B9%B4 title="1980 年" target=_blank rel=external>1980 年</a>1 月发布的<a href=http://tools.ietf.org/html/rfc760 target=_blank rel=external>RFC 760</a>。<br><br>IPv4 是一种无连接的协议，操作在使用<a href=http://zh.wikipedia.org/wiki/%E5%88%86%E7%BB%84%E4%BA%A4%E6%8D%A2 title=分组交换 target=_blank rel=external> 分组交换 </a> 的链路层（如 <a href=http://zh.wikipedia.org/wiki/%E4%BB%A5%E5%A4%AA%E7%BD%91 title=以太网 target=_blank rel=external> 以太网 </a>）上。此协议会尽最大努力交付分组，意即它不保证任何分组均能送达目的地，也不保证所有分组均按照正确的顺序无重复地到达。这些方面是由上层的传输协议（如<a href=http://zh.wikipedia.org/wiki/%E4%BC%A0%E8%BE%93%E6%8E%A7%E5%88%B6%E5%8D%8F%E8%AE%AE title=传输控制协议 target=_blank rel=external> 传输控制协议 </a>）处理的。<br><table id=toc><br><tbody><br><tr><br><td><br><div id=toctitle><br><br>## 目录<br><br>[<a href=http://zh.wikipedia.org/wiki/IPV4# target=_blank rel=external> 隐藏</a>]<br><br></div>
<ul>
<li><p><a href=http://zh.wikipedia.org/wiki/IPV4#.E5.9C.B0.E5.9D.80 target=_blank rel=external>1 地址</a></p>
<ul>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E5.9C.B0.E5.9D.80.E6.A0.BC.E5.BC.8F target=_blank rel=external>1.1 地址格式</a></li>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E5.88.86.E9.85.8D target=_blank rel=external>1.2 分配</a></li>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E7.89.B9.E6.AE.8A.E7.94.A8.E9.80.94.E7.9A.84.E5.9C.B0.E5.9D.80 target=_blank rel=external>1.3 特殊用途的地址</a></li>
<li><p><a href=http://zh.wikipedia.org/wiki/IPV4#.E4.B8.93.E7.94.A8.E7.BD.91.E7.BB.9C target=_blank rel=external>1.4 专用网络</a></p>
<pre><code><span class=bullet>*   </span>[<span class=link_label>1.4.1 虚拟专用网络</span>](<span class=link_url>http://zh.wikipedia.org/wiki/IPV4#.E8.99.9A.E6.8B.9F.E4.B8.93.E7.94.A8.E7.BD.91.E7.BB.9C</span>)
</code></pre><ul>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E9.93.BE.E8.B7.AF.E6.9C.AC.E5.9C.B0.E5.9C.B0.E5.9D.80 target=_blank rel=external>1.5 链路本地地址</a></li>
</ul>
</li>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E7.8E.AF.E5.9B.9E.E5.9C.B0.E5.9D.80 target=_blank rel=external>1.6 环回地址</a></li>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E4.BB.A50.E6.88.96255.E7.BB.93.E5.B0.BE.E7.9A.84.E5.9C.B0.E5.9D.80 target=_blank rel=external>1.7 以 0 或 255 结尾的地址</a></li>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E5.9C.B0.E5.9D.80.E8.A7.A3.E6.9E.90 target=_blank rel=external>1.8 地址解析</a></li>
</ul>
</li>
<li><p><a href=http://zh.wikipedia.org/wiki/IPV4#.E5.9C.B0.E5.9D.80.E7.A9.BA.E9.97.B4.E6.9E.AF.E7.AB.AD target=_blank rel=external>2 地址空间枯竭</a></p>
</li>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E7.BD.91.E7.BB.9C.E5.9C.B0.E5.9D.80.E8.BD.AC.E6.8D.A2 target=_blank rel=external>3 网络地址转换</a></li>
<li><p><a href=http://zh.wikipedia.org/wiki/IPV4#.E6.8A.A5.E6.96.87.E7.BB.93.E6.9E.84 target=_blank rel=external>4 报文结构</a></p>
<ul>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E9.A6.96.E9.83.A8 target=_blank rel=external>4.1 首部</a></li>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E6.95.B0.E6.8D.AE target=_blank rel=external>4.2 数据</a></li>
</ul>
</li>
<li><p><a href=http://zh.wikipedia.org/wiki/IPV4#.E5.88.86.E7.89.87.E5.92.8C.E7.BB.84.E8.A3.85 target=_blank rel=external>5 分片和组装</a></p>
<ul>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E5.88.86.E7.89.87 target=_blank rel=external>5.1 分片</a></li>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E7.BB.84.E8.A3.85 target=_blank rel=external>5.2 组装</a></li>
</ul>
</li>
<li><p><a href=http://zh.wikipedia.org/wiki/IPV4#.E8.BE.85.E5.8A.A9.E5.8D.8F.E8.AE.AE target=_blank rel=external>6 辅助协议</a></p>
</li>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E5.8F.82.E8.A7.81 target=_blank rel=external>7 参见</a></li>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E5.8F.82.E8.80.83.E6.96.87.E7.8C.AE target=_blank rel=external>8 参考文献</a></li>
<li><a href=http://zh.wikipedia.org/wiki/IPV4#.E5.A4.96.E9.83.A8.E9.93.BE.E6.8E.A5 target=_blank rel=external>9 外部链接</a><br></li></ul></td><br></tr><br></tbody><br></table>
<h2 id=地址>地址</h2>
<p>IPv4 使用 32 位（4 字节）地址，因此 <a href=http://zh.wikipedia.org/wiki/%E5%9C%B0%E5%9D%80%E7%A9%BA%E9%97%B4 title=地址空间 target=_blank rel=external> 地址空间 </a> 中只有 4,294,967,296（2<sup>32</sup>）个地址。不过，一些地址是为特殊用途所保留的，如 <a href=http://zh.wikipedia.org/wiki/%E4%B8%93%E7%94%A8%E7%BD%91%E7%BB%9C title=专用网络 target=_blank rel=external> 专用网络 </a>（约 18 百万个地址）和<a href=http://zh.wikipedia.org/wiki/%E5%A4%9A%E6%92%AD title=多播 target=_blank rel=external> 多播 </a> 地址（约 270 百万个地址），这减少了可在互联网上路由的地址数量。随着地址不断被分配给最终用户，<a href="http://zh.wikipedia.org/w/index.php?title=IPv4%E5%9C%B0%E5%9D%80%E6%9E%AF%E7%AB%AD%E9%97%AE%E9%A2%98&amp;action=edit&amp;redlink=1" title="IPv4 地址枯竭问题" target=_blank rel=external>IPv4 地址枯竭问题 </a> 也在随之产生。基于 <a href=http://zh.wikipedia.org/wiki/%E5%88%86%E7%B1%BB%E7%BD%91%E7%BB%9C title=分类网络 target=_blank rel=external> 分类网络 </a>、<a href=http://zh.wikipedia.org/wiki/%E6%97%A0%E7%B1%BB%E5%88%AB%E5%9F%9F%E9%97%B4%E8%B7%AF%E7%94%B1 title=无类别域间路由 target=_blank rel=external> 无类别域间路由 </a> 和<a href=http://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2 title=网络地址转换 target=_blank rel=external>网络地址转换 </a> 的地址结构重构显著地减少了地址枯竭的速度。但在 <a href=http://zh.wikipedia.org/wiki/2011%E5%B9%B4 title="2011 年" target=_blank rel=external>2011 年</a><a href=http://zh.wikipedia.org/wiki/2%E6%9C%883%E6%97%A5 title="2 月 3 日" target=_blank rel=external>2 月 3 日</a>，在最后 5 个地址块被分配给 5 个<a href=http://zh.wikipedia.org/wiki/%E5%8C%BA%E5%9F%9F%E4%BA%92%E8%81%94%E7%BD%91%E6%B3%A8%E5%86%8C%E7%AE%A1%E7%90%86%E6%9C%BA%E6%9E%84 title=区域互联网注册管理机构 target=_blank rel=external> 区域互联网注册管理机构 </a> 之后，IANA 的主要地址池空了。</p>
<p>这些限制刺激了仍在开发早期的 <a href=http://zh.wikipedia.org/wiki/IPv6 title=IPv6 target=_blank rel=external>IPv6</a> 的部署，这也是唯一的长期解决方案。</p>
<h3 id=地址格式>地址格式</h3>
<p>IPv4 地址可被写作任何表示一个 32 位整数值的形式，但为了方便人类，它通常被写作 <a href="http://zh.wikipedia.org/w/index.php?title=%E7%82%B9%E5%88%86%E5%8D%81%E8%BF%9B%E5%88%B6&amp;action=edit&amp;redlink=1" title=点分十进制 target=_blank rel=external> 点分十进制 </a> 的形式，即四个字节被分开用 <a href=http://zh.wikipedia.org/wiki/%E5%8D%81%E8%BF%9B%E5%88%B6 title=十进制 target=_blank rel=external> 十进制 </a> 写出，中间用点分隔。</p>
<p>下表展示了几种不同的格式：</p>
<table><br><tbody><br><tr><br><th>格式 </th><br><th> 值</th><br><th>从点分十进制转换 </th><br></tr><br><tr><br><td><a href="http://zh.wikipedia.org/w/index.php?title=%E7%82%B9%E5%88%86%E5%8D%81%E8%BF%9B%E5%88%B6&amp;action=edit&amp;redlink=1" title=点分十进制 target=_blank rel=external> 点分十进制 </a></td><br><td><tt>192.0.2.235</tt></td><br><td> 不适用 </td><br></tr><br><tr><br><td> 点分十六进制 <sup id=cite_ref-inet_0-0><a href=http://zh.wikipedia.org/wiki/IPV4#cite_note-inet-0 target=_blank rel=external>[1]</a></sup></td><br><td><tt>0xC0.0x00.0x02.0xEB</tt></td><br><td> 每个字节被单独转换为十六进制 </td><br></tr><br><tr><br><td> 点分八进制 <sup id=cite_ref-inet_0-1><a href=http://zh.wikipedia.org/wiki/IPV4#cite_note-inet-0 target=_blank rel=external>[1]</a></sup></td><br><td><tt>0300.0000.0002.0353</tt></td><br><td> 每个字节被单独转换为八进制 </td><br></tr><br><tr><br><td><a href=http://zh.wikipedia.org/wiki/%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6 title=十六进制 target=_blank rel=external> 十六进制 </a></td><br><td><tt>0xC00002EB</tt></td><br><td> 将点分十六进制连在一起 </td><br></tr><br><tr><br><td><a href=http://zh.wikipedia.org/wiki/%E5%8D%81%E8%BF%9B%E5%88%B6 title=十进制 target=_blank rel=external> 十进制 </a></td><br><td><tt>3221226219</tt></td><br><td> 用十进制写出的 32 位整数 </td><br></tr><br><tr><br><td><a href=http://zh.wikipedia.org/wiki/%E5%85%AB%E8%BF%9B%E5%88%B6 title=八进制 target=_blank rel=external> 八进制 </a></td><br><td><tt>030000001353</tt></td><br><td> 用八进制写出的 32 位整数 </td><br></tr><br></tbody><br></table><br> 此外，在点分格式中，每个字节都可用任意的进制表达。如，<tt>192.0x00.0002.235</tt>是一种合法（但很不常用）的表示。<br><br>### 分配 <br><br> 最初，一个 IP 地址被分成两部分：网络标识在地址的高位字节中，主机标识在剩下的部分中。这使得创建最多 256 个网络成为可能，但很快人们发现这样是不够的。<br><br>为了克服这个限制，在随后出现的 <a href=http://zh.wikipedia.org/wiki/%E5%88%86%E7%B1%BB%E7%BD%91%E7%BB%9C title=分类网络 target=_blank rel=external> 分类网络 </a> 中，地址的高位字节被重定义为网络的 <em> 类</em>。这个系统定义了五个类：A、B、C、D 和 E。A、B 和 C 类有不同的网络类长度，剩余的部分被用来识别网络内的主机，这就意味着每个网络类有着不同的给主机编址的能力。D 类被用于 <a href=http://zh.wikipedia.org/wiki/%E5%A4%9A%E6%92%AD title=多播 target=_blank rel=external> 多播 </a> 地址，E 类被留作将来使用。<br><br>在 1993 年左右，<a href=http://zh.wikipedia.org/wiki/%E6%97%A0%E7%B1%BB%E5%88%AB%E5%9F%9F%E9%97%B4%E8%B7%AF%E7%94%B1 title=无类别域间路由 target=_blank rel=external>无类别域间路由 </a>（CIDR）正式地取代了<a href=http://zh.wikipedia.org/wiki/%E5%88%86%E7%B1%BB%E7%BD%91%E7%BB%9C title=分类网络 target=_blank rel=external> 分类网络 </a>，后者也因此被称为“有类别”的。<br><br>CIDR 被设计为可以重新划分地址空间，因此小的或大的地址块均可以分配给用户。CIDR 创建的分层架构由<a href=http://zh.wikipedia.org/wiki/%E4%BA%92%E8%81%94%E7%BD%91%E5%8F%B7%E7%A0%81%E5%88%86%E9%85%8D%E5%B1%80 title=互联网号码分配局 target=_blank rel=external> 互联网号码分配局 </a>（IANA）和<a href=http://zh.wikipedia.org/wiki/%E5%8C%BA%E5%9F%9F%E4%BA%92%E8%81%94%E7%BD%91%E6%B3%A8%E5%86%8C%E7%AE%A1%E7%90%86%E6%9C%BA%E6%9E%84 title=区域互联网注册管理机构 target=_blank rel=external> 区域互联网注册管理机构 </a>（RIR）进行管理，每个 RIR 均维护着一个公共的<a href=http://zh.wikipedia.org/wiki/WHOIS title=WHOIS target=_blank rel=external>WHOIS</a> 数据库，以此提供 IP 地址分配的详情。<br><br>### 特殊用途的地址 <br><br><table><caption> 保留的地址块 </caption><br><tbody><br><tr><br><th><a href=http://zh.wikipedia.org/wiki/CIDR title=CIDR target=_blank rel=external>CIDR</a> 地址块 </th><br><th> 描述 </th><br><th> 参考资料 </th><br></tr><br><tr><br><td>0.0.0.0/8</td><br><td> 本网络（仅作为源地址时合法）</td><br><td><a href=http://tools.ietf.org/html/rfc1700 target=_blank rel=external>RFC 1700</a></td><br></tr><br><tr><br><td>10.0.0.0/8</td><br><td><a href=http://zh.wikipedia.org/wiki/%E4%B8%93%E7%94%A8%E7%BD%91%E7%BB%9C title=专用网络 target=_blank rel=external>专用网络 </a></td><br><td><a href=http://tools.ietf.org/html/rfc1918 target=_blank rel=external>RFC 1918</a></td><br></tr><br><tr><br><td>127.0.0.0/8</td><br><td><a href=http://zh.wikipedia.org/wiki/Localhost title=Localhost target=_blank rel=external> 环回 </a></td><br><td><a href=http://tools.ietf.org/html/rfc5735 target=_blank rel=external>RFC 5735</a></td><br></tr><br><tr><br><td>169.254.0.0/16</td><br><td><a href="http://zh.wikipedia.org/w/index.php?title=Zeroconf&amp;action=edit&amp;redlink=1" title=Zeroconf target=_blank rel=external> 链路本地 </a></td><br><td><a href=http://tools.ietf.org/html/rfc3927 target=_blank rel=external>RFC 3927</a></td><br></tr><br><tr><br><td>172.16.0.0/12</td><br><td><a href=http://zh.wikipedia.org/wiki/%E4%B8%93%E7%94%A8%E7%BD%91%E7%BB%9C title=专用网络 target=_blank rel=external> 专用网络 </a></td><br><td><a href=http://tools.ietf.org/html/rfc1918 target=_blank rel=external>RFC 1918</a></td><br></tr><br><tr><br><td>192.0.0.0/24</td><br><td> 保留（IANA）</td><br><td><a href=http://tools.ietf.org/html/rfc5735 target=_blank rel=external>RFC 5735</a></td><br></tr><br><tr><br><td>192.0.2.0/24</td><br><td>TEST-NET-1，文档和示例 </td><br><td><a href=http://tools.ietf.org/html/rfc5735 target=_blank rel=external>RFC 5735</a></td><br></tr><br><tr><br><td>192.88.99.0/24</td><br><td><a href=http://zh.wikipedia.org/wiki/IPv6 title=IPv6 target=_blank rel=external>6to</a>4 中继</td><br><td><a href=http://tools.ietf.org/html/rfc3068 target=_blank rel=external>RFC 3068</a></td><br></tr><br><tr><br><td>192.168.0.0/16</td><br><td><a href=http://zh.wikipedia.org/wiki/%E4%B8%93%E7%94%A8%E7%BD%91%E7%BB%9C title=专用网络 target=_blank rel=external> 专用网络 </a></td><br><td><a href=http://tools.ietf.org/html/rfc1918 target=_blank rel=external>RFC 1918</a></td><br></tr><br><tr><br><td>198.18.0.0/15</td><br><td> 网络基准测试 </td><br><td><a href=http://tools.ietf.org/html/rfc2544 target=_blank rel=external>RFC 2544</a></td><br></tr><br><tr><br><td>198.51.100.0/24</td><br><td>TEST-NET-2，文档和示例</td><br><td><a href=http://tools.ietf.org/html/rfc5737 target=_blank rel=external>RFC 5737</a></td><br></tr><br><tr><br><td>203.0.113.0/24</td><br><td>TEST-NET-3，文档和示例</td><br><td><a href=http://tools.ietf.org/html/rfc5737 target=_blank rel=external>RFC 5737</a></td><br></tr><br><tr><br><td>224.0.0.0/4</td><br><td><a href=http://zh.wikipedia.org/wiki/%E5%A4%9A%E6%92%AD title=多播 target=_blank rel=external> 多播 </a>（之前的 D 类网络）</td><br><td><a href=http://tools.ietf.org/html/rfc3171 target=_blank rel=external>RFC 3171</a></td><br></tr><br><tr><br><td>240.0.0.0/4</td><br><td> 保留（之前的 E 类网络）</td><br><td><a href=http://tools.ietf.org/html/rfc1700 target=_blank rel=external>RFC 1700</a></td><br></tr><br><tr><br><td>255.255.255.255</td><br><td>广播</td><br><td><a href=http://tools.ietf.org/html/rfc919 target=_blank rel=external>RFC 919</a></td><br></tr><br></tbody><br></table>
<h3 id=专用网络>专用网络</h3>
<p>在 IPv4 所允许的大约四十亿地址中，三个地址块被保留作 <a href=http://zh.wikipedia.org/wiki/%E4%B8%93%E7%94%A8%E7%BD%91%E7%BB%9C title=专用网络 target=_blank rel=external> 专用网络 </a>。这些地址块在专用网络之外不可路由，专用网络之内的主机也不能直接与公共网络通信。但通过<a href=http://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2 title=网络地址转换 target=_blank rel=external> 网络地址转换</a>，他们即能做到后者。</p>
<p>下表展示了三个被保留作专用网络的地址块（<a href=http://tools.ietf.org/html/rfc1918 target=_blank rel=external>RFC 1918</a>）：</p>
<table><br><tbody><br><tr><br><th>名字 </th><br><th> 地址范围 </th><br><th> 地址数量 </th><br><th> 有类别的描述 </th><br><th> 最大的 <a href=http://zh.wikipedia.org/wiki/CIDR title=CIDR target=_blank rel=external>CIDR</a> 地址块 </th><br></tr><br><tr><br><td>24 位块</td><br><td>10.0.0.0–10.255.255.255</td><br><td>16,777,216</td><br><td> 一个 A 类 </td><br><td>10.0.0.0/8</td><br></tr><br><tr><br><td>20 位块</td><br><td>172.16.0.0–172.31.255.255</td><br><td>1,048,576</td><br><td> 连续的 16 个 B 类 </td><br><td>172.16.0.0/12</td><br></tr><br><tr><br><td>16 位块</td><br><td>192.168.0.0–192.168.255.255</td><br><td>65,536</td><br><td> 连续的 256 个 C 类</td><br><td>192.168.0.0/16</td><br></tr><br></tbody><br></table>
<h4 id=虚拟专用网络>虚拟专用网络</h4>
<p>以专用网络地址作目的地址的报文会被所有公共路由器忽略，因此在两个专用网络之间直接通信（如两个分支办公室间）是不可能的。这需要使用 <a href="http://zh.wikipedia.org/w/index.php?title=IP%E9%9A%A7%E9%81%93&amp;action=edit&amp;redlink=1" title="IP 隧道" target=_blank rel=external>IP 隧道</a> 或<a href=http://zh.wikipedia.org/wiki/%E8%99%9A%E6%8B%9F%E4%B8%93%E7%94%A8%E7%BD%91%E7%BB%9C title=虚拟专用网络 target=_blank rel=external>虚拟专用网络</a>（VPN）。</p>
<p>VPN 在公共网络上创建连接两个专用网络的隧道。在这种功能中，隧道一端的主机将报文封装在一个公共网路上可以接受的协议层中，然后这些报文就可以被送达隧道的另一端，在那里，附加的协议层被去掉，报文也被送达其原定的目的地。</p>
<p>此外，封装过的报文也可能被加密以保证其在公共网络上传输时的安全性。</p>
<h3 id=链路本地地址>链路本地地址</h3>
<p><a href=http://tools.ietf.org/html/rfc5735 target=_blank rel=external>RFC 5735</a>中将地址块 169.254.0.0/16 保留为特殊用于链路本地地址，这些地址仅在链路上有效（如一段本地网络或一个端到端连接）。这些地址与专用网络地址一样不可路由，也不可作为公共网络上报文的源或目的地只。链路本地地址主要被用于 <a href="http://zh.wikipedia.org/w/index.php?title=%E5%9C%B0%E5%9D%80%E8%87%AA%E5%8A%A8%E9%85%8D%E7%BD%AE&amp;action=edit&amp;redlink=1" title=地址自动配置 target=_blank rel=external> 地址自动配置</a>：当主机不能从 DHCP 服务器处获得 IP 地址时，它会用这种方法生成一个。</p>
<p>当这个地址块最初被保留时，地址自动配置尚没有一个标准。为了填补这个空白，<a href=http://zh.wikipedia.org/wiki/%E5%BE%AE%E8%BD%AF title=微软 target=_blank rel=external>微软 </a> 创建了一种叫 <strong> 自动专用 IP 寻址 </strong>（APIPA）的实现。因微软的市场影响力，APIPA 已经被部署到了几百万机器上，也因此成为了<a href=http://zh.wikipedia.org/wiki/De_facto title="De facto" target=_blank rel=external> 事实上的 </a> 工业标准。许多年后，<a href=http://zh.wikipedia.org/wiki/IETF title=IETF target=_blank rel=external>IETF</a>为此定义了一份正式的标准：<a href=http://tools.ietf.org/html/rfc3927 target=_blank rel=external>RFC 3927</a>，命名为“IPv4 链路本地地址的动态配置”。</p>
<h3 id=环回地址>环回地址</h3>
<p>地址块 127.0.0.0/8 被保留作环回通信用。此范围中的地址绝不应出现在主机之外，发送至此地址的报文被作为同一虚拟网络设备上的入站报文（<a href="http://zh.wikipedia.org/w/index.php?title=%E7%8E%AF%E5%9B%9E&amp;action=edit&amp;redlink=1" title=环回 target=_blank rel=external>环回</a>）。</p>
<h3 id="以 0 或 255 结尾的地址">以 0 或 255 结尾的地址</h3>
<p>一个常见的误解是以 0 或 255 结尾的地址永远不能分配给主机：这仅在子网掩码至少 24 位长时（旧的 C 类地址，或 CIDR 中的 /24 到 /32）才成立。</p>
<p>在有类别的编址中，只有三种可能的子网掩码：A 类：255.0.0.0，B 类：255.255.0.0，C 类：255.255.255.0。如，在子网 192.168.5.0/255.255.255.0（即 192.168.5.0/24）中，标识 192.168.5.0 用来指代整个子网，所以它不能用来标识子网上的某个特定主机。</p>
<p><a href="http://zh.wikipedia.org/w/index.php?title=%E5%B9%BF%E6%92%AD%E5%9C%B0%E5%9D%80&amp;action=edit&amp;redlink=1" title=广播地址 target=_blank rel=external>广播地址 </a> 允许报文发往子网上的所有设备。一般地，广播地址通过对子网掩码取补并和网络标识做按位或得到，这也就是说，广播地址是子网中的最后一个地址。在上述例子中，广播地址是 192.168.5.255，所以为了避免歧义，这个地址也不能被分配给主机。在 A、B 和 C 类网络中，广播地址总是以 255 结尾。</p>
<p>但是，这并不意味着每个以 255 结尾的地址都不能用做主机地址。比如，在 B 类子网 192.168.0.0/255.255.0.0（即 192.168.0.0/16）中，广播地址是 192.168.255.255。在这种情况下，尽管可能带来误解，但 192.168.1.255、192.168.2.255 等地址可以被分配给主机。同理，192.168.0.0 作为网络标识不能被分配，但 192.168.1.0、192.168.2.0 等都是可以的。</p>
<p>随着 CIDR 的到来，广播地址不一定总是以 255 结尾。比如，子网 203.0.113.16/28 的广播地址是 203.0.113.31。</p>
<p>一般地，子网的第一个和最后一个地址分别被作为网络标识和广播地址，任何其它地址都可以被分配给其上的主机。</p>
<h3 id=地址解析>地址解析</h3>
<dl><dd><br><div>主条目：<a href=http://zh.wikipedia.org/wiki/%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F title=域名系统 target=_blank rel=external>域名系统 </a></div><br></dd></dl> 互联网上的主机通常被其名字（如 zh.wikipedia.org、www.berkeley.edu 等）而不是 IP 地址识别，但 IP 报文的路由是由 IP 地址而不是这些名字决定的。这就需要将名字翻译（解析）成地址。<br><br><a href=http://zh.wikipedia.org/wiki/%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F title=域名系统 target=_blank rel=external>域名系统 </a>（DNS）提供了这样一个将名字转换为地址和将地址转换为名字的系统。与 CIDR 相像，DNS 也有一个层级的结构，使不同的名字空间可被再委托给其它 DNS 服务器。<br><br> 域名系统经常被描述为电话系统中的黄页：在那里人们可以把名字和电话号码对应起来。<br><br>## 地址空间枯竭 <br><br><dl><dd><br><div> 主条目：<a href="http://zh.wikipedia.org/w/index.php?title=IPv4%E5%9C%B0%E5%9D%80%E6%9E%AF%E7%AB%AD%E9%97%AE%E9%A2%98&amp;action=edit&amp;redlink=1" title="IPv4 地址枯竭问题" target=_blank rel=external>IPv4 地址枯竭问题 </a></div><br></dd></dl> 从 20 世纪 80 年代起，一个很明显的问题是 IPv4 地址在以比设计时的预计更快的速度耗尽。<sup id=cite_ref-1><a href=http://zh.wikipedia.org/wiki/IPV4#cite_note-1 target=_blank rel=external>[2]</a></sup> 这是创建 <a href=http://zh.wikipedia.org/wiki/%E5%88%86%E7%B1%BB%E7%BD%91%E7%BB%9C title=分类网络 target=_blank rel=external> 分类网络 </a>、<a href=http://zh.wikipedia.org/wiki/%E6%97%A0%E7%B1%BB%E5%88%AB%E5%9F%9F%E9%97%B4%E8%B7%AF%E7%94%B1 title=无类别域间路由 target=_blank rel=external> 无类别域间路由 </a>，和最终决定重新设计基于更长地址的互联网协议（<a href=http://zh.wikipedia.org/wiki/IPv6 title=IPv6 target=_blank rel=external>IPv6</a>）的诱因。<br><br> 一些市场力量也加快了 IPv4 地址的耗尽，如：<br><br><em>   互联网用户的急速增长；
</em>   总是开着的设备：<a href=http://zh.wikipedia.org/wiki/ADSL title=ADSL target=_blank rel=external>ADSL</a><a href=http://zh.wikipedia.org/wiki/%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8 title=调制解调器 target=_blank rel=external>调制解调器 </a>、<a href=http://zh.wikipedia.org/wiki/%E7%BA%9C%E7%B7%9A%E6%95%B8%E6%93%9A%E6%A9%9F title=缆线调制解调器 target=_blank rel=external> 缆线数据机 </a> 等；<br><em>   移动设备：<a href=http://zh.wikipedia.org/wiki/%E8%86%9D%E4%B8%8A%E5%9E%8B%E7%94%B5%E8%84%91 title=膝上型电脑 target=_blank rel=external>膝上型电脑 </a>、<a href=http://zh.wikipedia.org/wiki/PDA title=PDA target=_blank rel=external>PDA</a>、<a href=http://zh.wikipedia.org/wiki/%E7%A7%BB%E5%8A%A8%E7%94%B5%E8%AF%9D title=移动电话 target=_blank rel=external> 移动电话 </a> 等。<br>随着互联网的增长，各种各样的技术随之产生以应对 IPv4 地址的耗尽，如：
</em>   <a href=http://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2 title=网络地址转换 target=_blank rel=external>网络地址转换 </a>（NAT）；<br><em>   <a href=http://zh.wikipedia.org/wiki/%E4%B8%93%E7%94%A8%E7%BD%91%E7%BB%9C title=专用网络 target=_blank rel=external> 专用网络 </a> 的使用；
</em>   <a href=http://zh.wikipedia.org/wiki/%E5%8A%A8%E6%80%81%E4%B8%BB%E6%9C%BA%E8%AE%BE%E7%BD%AE%E5%8D%8F%E8%AE%AE title=动态主机设置协议 target=_blank rel=external>动态主机设置协议 </a>（DHCP）；<br><em>   基于名字的<a href=http://zh.wikipedia.org/wiki/%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA title=虚拟主机 target=_blank rel=external> 虚拟主机</a>；
</em>   <a href=http://zh.wikipedia.org/wiki/%E5%8C%BA%E5%9F%9F%E4%BA%92%E8%81%94%E7%BD%91%E6%B3%A8%E5%86%8C%E7%AE%A1%E7%90%86%E6%9C%BA%E6%9E%84 title=区域互联网注册管理机构 target=_blank rel=external>区域互联网注册管理机构 </a> 对地址分配的控制；<br><em>   对互联网初期分配的大地址块的回收。<br>随着 IANA 把最后 5 个地址块分配给 5 个 RIR，其主地址池在 <a href=http://zh.wikipedia.org/wiki/2011%E5%B9%B4 title="2011 年" target=_blank rel=external>2011 年</a><a href=http://zh.wikipedia.org/wiki/2%E6%9C%883%E6%97%A5 title="2 月 3 日" target=_blank rel=external>2 月 3 日</a> 耗尽。<sup id=cite_ref-2><a href=http://zh.wikipedia.org/wiki/IPV4#cite_note-2 target=_blank rel=external>[3]</a></sup> 许多地址分配和消耗的模型都预测第一个耗尽地址的 RIR 会在 2011 年的下半出现。<sup id=cite_ref-3><a href=http://zh.wikipedia.org/wiki/IPV4#cite_note-3 target=_blank rel=external>[4]</a></sup><br><br>广泛被接受且已被标准化的解决方案是迁移至 <a href=http://zh.wikipedia.org/wiki/IPv6 title=IPv6 target=_blank rel=external>IPv6</a>。IPv6 的地址长度从 IPv4 的 32 位增长到了 128 位，以此提供了更好的路由聚合，也为最终用户分配最小为 2<sup>64</sup> 个主机地址的地址块成为可能。迁移过程正在进行，但其完成仍需要相当的时间。<br><br>## 网络地址转换 <br><br><dl><dd><br><div> 主条目：<a href=http://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2 title=网络地址转换 target=_blank rel=external>网络地址转换 </a></div><br></dd></dl> 对地址的快速分配和其造成的地址短缺促成了许多有效应用地址的方法，其中一种就是网络地址转换（NAT）。NAT 设备将一整个专有网络隐藏在一个公共 IP 地址“之后”。许多拥有很多用户的 ISP 都依赖这一技术。<br><br>## 报文结构 <br><br> 一份 IP 报文包含一个首部和一份数据，<br><br>### 首部 <br><br>IPv4 报文的首部包含 14 个字段，其中 13 个是必须的，第 14 个是可选的（在表中用红色标出），并贴切地命名为：“选项”。首部中的字段均以大端序包装，在以下的图表和讨论中，最高有效位被标记为 0，因此例如版本字段实际上可在第一个字节的前四高有效位中被找到。<br><table><br><tbody><br><tr><br><th width=4%> 位偏移 </th><br><th colspan=4 width=12%>0–3</th><br><th colspan=4 width=12%>4–7</th><br><th colspan=6 width=24%>8–13</th><br><th colspan=2 width=6%>14-15</th><br><th colspan=3 width=9%>16–18</th><br><th colspan=13 width=39%>19–31</th><br></tr><br><tr><br><th>0</th><br><td colspan=4> 版本 </td><br><td colspan=4> 首部长度 </td><br><td colspan=6><a href="http://zh.wikipedia.org/w/index.php?title=DSCP&amp;action=edit&amp;redlink=1" title=DSCP target=_blank rel=external>DSCP</a></td><br><td colspan=2><a href="http://zh.wikipedia.org/w/index.php?title=%E6%98%BE%E5%BC%8F%E6%8B%A5%E5%A1%9E%E9%80%9A%E5%91%8A&amp;action=edit&amp;redlink=1" title=显式拥塞通告 target=_blank rel=external> 显式拥塞通告 </a></td><br><td colspan=16> 全长 </td><br></tr><br><tr><br><th>32</th><br><td colspan=16> 标识符 </td><br><td colspan=3> 标志 </td><br><td colspan=13> 分片偏移 </td><br></tr><br><tr><br><th>64</th><br><td colspan=8><a href=http://zh.wikipedia.org/wiki/%E5%AD%98%E6%B4%BB%E6%99%82%E9%96%93 title=存活时间 target=_blank rel=external> 存活时间 </a></td><br><td colspan=8><a href="http://zh.wikipedia.org/w/index.php?title=%E5%8D%8F%E8%AE%AE&amp;action=edit&amp;redlink=1" title=协议 target=_blank rel=external> 协议 </a></td><br><td colspan=16> 首部检验和 </td><br></tr><br><tr><br><th>96</th><br><td colspan=32> 源 IP 地址 </td><br></tr><br><tr><br><th>128</th><br><td colspan=32> 目的 IP 地址 </td><br></tr><br><tr><br><th>160</th><br><td colspan=32 bgcolor=#FFBBBB> 选项（如首部长度 &gt;5）</td><br></tr><br><tr><br><th>160<br>or<br>192+</th><br><td colspan=32>数据 </td><br></tr><br></tbody><br></table><br><dl><dt> 版本 </dt><dd>IP 报文首部的第一个字段是 4 位版本字段。对 IPv4 来说，这个字段的值是 4。</dd></dl><dl><dt> 首部长度（IHL）</dt><dd>第二个字段是 4 位首部长度，说明首部有多少 32 位 <a href=http://zh.wikipedia.org/wiki/%E5%AD%97_(%E8%AE%A1%E7%AE%97%E6%9C%BA target=_blank rel=external> 字</a> “字 (计算机)”)长。由于 IPv4 首部可能包含数目不定的选项，这个字段也用来确定数据的偏移量。这个字段的最小值是 5（<a href=http://tools.ietf.org/html/rfc791 target=_blank rel=external>RFC 791</a>），最大值是 15。</dd></dl><dl><dt>DiffServ（DSCP）</dt><dd>最初被定义为 <a href="http://zh.wikipedia.org/w/index.php?title=%E6%9C%8D%E5%8A%A1%E7%B1%BB%E5%9E%8B&amp;action=edit&amp;redlink=1" title=服务类型 target=_blank rel=external> 服务类型 </a> 字段，但被 <a href=http://tools.ietf.org/html/rfc2474 target=_blank rel=external>RFC 2474</a> 重定义为 <a href="http://zh.wikipedia.org/w/index.php?title=DiffServ&amp;action=edit&amp;redlink=1" title=DiffServ target=_blank rel=external>DiffServ</a>。新的需要实时数据流的技术会应用这个字段，一个例子是<a href=http://zh.wikipedia.org/wiki/VoIP title=VoIP target=_blank rel=external>VoIP</a>。</dd></dl><dl><dt> 显式拥塞通告（ECN）</dt><dd>在 <a href=http://tools.ietf.org/html/rfc3168 target=_blank rel=external>RFC 3168</a> 中定义，允许在不丢弃报文的同时通知对方 <a href="http://zh.wikipedia.org/w/index.php?title=%E7%BD%91%E7%BB%9C%E6%8B%A5%E5%A1%9E&amp;action=edit&amp;redlink=1" title=网络拥塞 target=_blank rel=external> 网络拥塞 </a> 的发生。ECN 是一种可选的功能，仅当两端都支持并希望使用，且底层网络支持时才被使用。</dd></dl><dl><dt>全长 </dt><dd> 这个 16 位字段定义了报文总长，包含首部和数据，单位为字节。这个字段的最小值是 20（20 字节首部 +0 字节数据），最大值是 65,535。所有主机都必须支持最小 576 字节的报文，但大多数现代主机支持更大的报文。有时候子网会限制报文的大小，这时报文就必须被分片。</dd></dl><dl><dt>标识符 </dt><dd> 这个字段主要被用来唯一地标识一个报文的所有分片。一些实验性的工作建议将此字段用于其它目的，例如增加报文跟踪信息以协助探测伪造的源地址。<sup id=cite_ref-4><a href=http://zh.wikipedia.org/wiki/IPV4#cite_note-4 target=_blank rel=external>[5]</a></sup></dd></dl><dl><dt>标志 </dt><dd> 这个 3 位字段用于控制和识别分片，它们是：
</dd></dl></em>   位 0：保留，必须为 0；<br><em>   位 1：禁止分片（DF）；
</em>   位 2：更多分片（MF）。<br><dd>如果 DF 标志被设置但路由要求必须分片报文，此报文会被丢弃。这个标志可被用于发往没有能力组装分片的主机。</dd><dd>当一个报文被分片，除了最后一片外的所有分片都设置 MF 标志。不被分片的报文不设置 MF 标志：它是它自己的最后一片。</dd><dl><dt>分片偏移 </dt><dd> 这个 13 位字段指明了每个分片相对于原始报文开头的偏移量，以 8 字节作单位。</dd></dl><dl><dt>存活时间（TTL）</dt><dd>这个 8 位字段避免报文在互联网中永远存在（例如陷入路由环路）。存活时间以秒为单位，但小于一秒的时间均向上取整到一秒。在现实中，这实际上成了一个跳数计数器：报文经过的每个路由器都将此字段减一，当此字段等于 0 时，报文不再向下一跳传送并被丢弃。常规地，一份 <a href=http://zh.wikipedia.org/wiki/ICMP title=ICMP target=_blank rel=external>ICMP</a> 报文被发回报文发送端说明其发送的报文已被丢弃。这也是 <a href=http://zh.wikipedia.org/wiki/Traceroute title=Traceroute target=_blank rel=external>traceroute</a> 的核心原理。</dd></dl><dl><dt>协议 </dt><dd> 这个字段定义了该报文数据区使用的协议。<a href=http://zh.wikipedia.org/wiki/IANA title=IANA target=_blank rel=external>IANA</a>维护着一份协议列表（最初由 <a href=http://tools.ietf.org/html/rfc790 target=_blank rel=external>RFC 790</a> 定义）。</dd></dl><dl><dt>首部检验和 </dt><dd> 这个 16 位 <a href="http://zh.wikipedia.org/w/index.php?title=%E6%A3%80%E9%AA%8C%E5%92%8C&amp;action=edit&amp;redlink=1" title=检验和 target=_blank rel=external> 检验和 </a> 字段用于对首部查错。在每一跳，计算出的首部检验和必须与此字段进行比对，如果不一致，此报文被丢弃。值得注意的是，数据区的错误留待上层协议处理——<a href=http://zh.wikipedia.org/wiki/%E7%94%A8%E6%88%B7%E6%95%B0%E6%8D%AE%E6%8A%A5%E5%8D%8F%E8%AE%AE title=用户数据报协议 target=_blank rel=external>用户数据报协议 </a> 和<a href=http://zh.wikipedia.org/wiki/%E4%BC%A0%E8%BE%93%E6%8E%A7%E5%88%B6%E5%8D%8F%E8%AE%AE title=传输控制协议 target=_blank rel=external>传输控制协议 </a> 都有检验和字段。</dd><dd>因为生存时间字段在每一跳都会发生变化，意味着检验和必须被重新计算，<a href=http://tools.ietf.org/html/rfc1071 target=_blank rel=external>RFC 1071</a>这样定义计算检验和的方法：<dl><dd><em>The checksum field is the 16-bit one’s complement of the one’s complement sum of all 16-bit words in the header. For purposes of computing the checksum, the value of the checksum field is zero.</em></dd></dl></dd></dl><dl><dt>源地址 </dt><dd> 一个 IPv4 地址由四个字节共 32 位构成，此字段的值是将每个字节转为二进制并拼在一起所得到的 32 位值。</dd><dd>例如，10.9.8.7 是 00001010000010010000100000000111。</dd><dd>这个地址是报文的发送端。但请注意，因为 NAT 的存在，这个地址并不总是报文的 <em> 真实 </em> 发送端，因此发往此地址的报文会被送往 NAT 设备，并由它被翻译为真实的地址。</dd></dl><dl><dt>目的地址 </dt><dd> 与源地址格式相同，但指出报文的接收端。</dd></dl><dl><dt>选项 </dt><dd> 附加的首部字段可能跟在目的地址之后，但这并不被经常使用。请注意首部长度字段必须包括足够的 32 位字来放下所有的选项（包括任何必须的填充以使首部长度能够被 32 位整除）。当选项列表的结尾不是首部的结尾时，EOL（选项列表结束，0x00）选项被插入列表末尾。下表列出了可能的选项：</dd></dl><br><table><br><tbody><br><tr><br><th>字段 </th><br><th> 长度（位）</th><br><th>描述 </th><br></tr><br><tr><br><td><strong> 备份 </strong></td><br><td>1</td><br><td> 当此选项需要被备份到所有分片中时，设为 1。</td><br></tr><br><tr><br><td><strong>类 </strong></td><br><td>2</td><br><td> 常规的选项类别，0 为“控制”，2 为“查错和措施”，1 和 3 保留。</td><br></tr><br><tr><br><td><strong>数字 </strong></td><br><td>5</td><br><td> 指明一个选项。</td><br></tr><br><tr><br><td><strong>长度 </strong></td><br><td>8</td><br><td> 指明整个选项的长度，对于简单的选项此字段可能不存在。</td><br></tr><br><tr><br><td><strong>数据 </strong></td><br><td> 可变 </td><br><td> 选项相关数据，对于简单的选项此字段可能不存在。</td><br></tr><br></tbody><br></table><br><br><em>   注：如果首部长度大于 5，那么选项字段必然存在并必须被考虑。
</em>   注：备份、类和数字经常被一并称呼为“类型”。<br><dl><dd>宽松的源站选路（LSRR）和严格的源站选路（SSRR）选项不被推荐使用，因其可能带来安全问题。许多路由器会拒绝带有这些选项的报文。</dd></dl>
<h3 id=数据>数据</h3>
<p>数据字段不是首部的一部分，因此并不被包含在检验和中。数据的格式在协议首部字段中被指明，并可以是任意的 <a href=http://zh.wikipedia.org/wiki/%E4%BC%A0%E8%BE%93%E5%B1%82 title=传输层 target=_blank rel=external> 传输层 </a> 协议。</p>
<p>一些常见协议的协议字段值被列在下面：</p>
<p><table></table></p>
<p><tbody></tbody></p>
<p><tr></tr></p>
<p><th>协议字段值</th></p>
<p><th>协议名</th></p>
<p><th>缩写</th><br></p>
<p><tr></tr></p>
<p><td>1</td></p>
<p><td><a href=http://zh.wikipedia.org/wiki/%E4%BA%92%E8%81%94%E7%BD%91%E6%8E%A7%E5%88%B6%E6%B6%88%E6%81%AF%E5%8D%8F%E8%AE%AE title=互联网控制消息协议 target=_blank rel=external>互联网控制消息协议</a></td></p>
<p><td>ICMP</td><br></p>
<p><tr></tr></p>
<p><td>2</td></p>
<p><td><a href=http://zh.wikipedia.org/wiki/%E4%BA%92%E8%81%94%E7%BD%91%E7%BB%84%E7%AE%A1%E7%90%86%E5%8D%8F%E8%AE%AE title=互联网组管理协议 target=_blank rel=external>互联网组管理协议</a></td></p>
<p><td>IGMP</td><br></p>
<p><tr></tr></p>
<p><td>6</td></p>
<p><td><a href=http://zh.wikipedia.org/wiki/%E4%BC%A0%E8%BE%93%E6%8E%A7%E5%88%B6%E5%8D%8F%E8%AE%AE title=传输控制协议 target=_blank rel=external>传输控制协议</a></td></p>
<p><td>TCP</td><br></p>
<p><tr></tr></p>
<p><td>17</td></p>
<p><td><a href=http://zh.wikipedia.org/wiki/%E7%94%A8%E6%88%B7%E6%95%B0%E6%8D%AE%E6%8A%A5%E5%8D%8F%E8%AE%AE title=用户数据报协议 target=_blank rel=external>用户数据报协议</a></td></p>
<p><td>UDP</td><br></p>
<p><tr></tr></p>
<p><td>41</td></p>
<p><td><a href=http://zh.wikipedia.org/wiki/IPv6 title=IPv6 target=_blank rel=external>IPv6 封装</a></td></p>
<p><td>-</td><br></p>
<p><tr></tr></p>
<p><td>89</td></p>
<p><td><a href=http://zh.wikipedia.org/wiki/%E5%BC%80%E6%94%BE%E5%BC%8F%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%BE%84%E4%BC%98%E5%85%88 title=开放式最短路径优先 target=_blank rel=external>开放式最短路径优先</a></td></p>
<p><td>OSPF</td><br></p>
<p><tr></tr></p>
<p><td>132</td></p>
<p><td><a href=http://zh.wikipedia.org/wiki/%E6%B5%81%E6%8E%A7%E5%88%B6%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE title=流控制传输协议 target=_blank rel=external>流控制传输协议</a></td></p>
<p><td>SCTP</td><br><br><br><br>参见 <a href="http://zh.wikipedia.org/w/index.php?title=IP%E5%8D%8F%E8%AE%AE%E5%AD%97%E6%AE%B5%E5%80%BC%E5%88%97%E8%A1%A8&amp;action=edit&amp;redlink=1" title="IP 协议字段值列表" target=_blank rel=external>IP 协议字段值列表</a> 以获得完整列表。</p>
<h2 id=分片和组装>分片和组装</h2>
<p><dl><dd></dd></dl></p>
<div>主条目：<a href=http://zh.wikipedia.org/wiki/IP%E5%88%86%E7%89%87 title="IP 分片" target=_blank rel=external>IP 分片 </a></div><br> 互联网协议是整个互联网架构的基础，使得不同的网络间交换流量成为可能。其设计容纳了物理条件不同的网络：其独立于其下的链路层传输技术。不同的链路层经常不仅在传输速度上有差异，还在结构和帧尺寸上有不同，这一整个被 <a href=http://zh.wikipedia.org/wiki/MTU title=MTU target=_blank rel=external>MTU</a> 参数描述。为了实现 IP 横越网络的角色，有必要实现一种自动调整传输单元大小的机制来适应其下的技术限制。这带出了 IP 报文的 <a href="http://zh.wikipedia.org/w/index.php?title=%E5%88%86%E7%89%87&amp;action=edit&amp;redlink=1" title=分片 target=_blank rel=external> 分片 </a>。在 IPv4 中，这个功能被放置在<a href=http://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E5%B1%82 title=网络层 target=_blank rel=external> 网络层 </a>，并由 IPv4 路由器完成。<br><br> 与此不同的是，下一代互联网协议 IPv6 不要求路由器执行分片操作，而是将检测路径最大传输单元大小的任务交给了主机。<br><br>### 分片 <br><br> 当一个设备收到一个 IP 报文时，它阅读其目的地址并决定要在哪个设备上发送它。设备有与其关联的 MTU 来决定其载荷的最大长度，如报文长度比 MTU 大，那么设备必须进行分片。<br><br>设备将整个报文数据分成数片，每一片的长度都小于等于 MTU 减去 IP 首部长度。接下来每一片均被放到独立的 IP 报文中，并进行如下修改：<br><br><em>   总长字段被修改为此分片的长度；
</em>   更多分片（MF）标志被设置，除了最后一片；<br><em>   分片偏移量字段被调整为合适的值；
</em>   首部检验和被重新计算。<br>例如，对于一个长 20 字节的首部和一个 MTU 为 1,500 的以太网，分片偏移量将会是：0、(1480/8)=185、(2960/8)=370、(4440/8)=555、(5920/8)=740、等等。<br><br>如果报文经过路径的 MTU 减小了，那么分片可能会被再次分片。<br><br>比如，一个 4,500 字节的数据载荷被封装进了一个没有选项的 IP 报文（即总长为 4,520 字节），并在 MTU 为 2,500 字节的链路上传输，那么它会被破成如下两个分片：<br><table><br><tbody><br><tr><br><th rowspan=2>#</th><br><th colspan=2 width=200>总长 </th><br><th rowspan=2> 更多分片（MF）？</th><br><th rowspan=2>分片偏移量 </th><br></tr><br><tr><br><th width=100> 首部 </th><br><th width=100> 数据 </th><br></tr><br><tr><br><td rowspan=2>1</td><br><td colspan=2>2500</td><br><td rowspan=2> 是</td><br><td rowspan=2>0</td><br></tr><br><tr><br><td>20</td><br><td>2480</td><br></tr><br><tr><br><td rowspan=2>2</td><br><td colspan=2>2040</td><br><td rowspan=2>否 </td><br><td rowspan=2>310</td><br></tr><br><tr><br><td>20</td><br><td>2020</td><br></tr><br></tbody><br></table><br> 现在，假设下一跳的 MTU 掉到 1,500 字节，那么每一个分片都会被再次分成两片：<br><table><br><tbody><br><tr><br><th rowspan=2>#</th><br><th colspan=2 width=200>总长 </th><br><th rowspan=2> 更多分片（MF）？</th><br><th rowspan=2>分片偏移量 </th><br></tr><br><tr><br><th width=100> 首部 </th><br><th width=100> 数据 </th><br></tr><br><tr><br><td rowspan=2>1</td><br><td colspan=2>1500</td><br><td rowspan=2> 是</td><br><td rowspan=2>0</td><br></tr><br><tr><br><td>20</td><br><td>1480</td><br></tr><br><tr><br><td rowspan=2>2</td><br><td colspan=2>1020</td><br><td rowspan=2>是 </td><br><td rowspan=2>185</td><br></tr><br><tr><br><td>20</td><br><td>1000</td><br></tr><br><tr><br><td rowspan=2>3</td><br><td colspan=2>1500</td><br><td rowspan=2> 是</td><br><td rowspan=2>310</td><br></tr><br><tr><br><td>20</td><br><td>1480</td><br></tr><br><tr><br><td rowspan=2>4</td><br><td colspan=2>560</td><br><td rowspan=2>否 </td><br><td rowspan=2>495</td><br></tr><br><tr><br><td>20</td><br><td>540</td><br></tr><br></tbody><br></table><br> 事实上，数据的长度被保留了下来——1480+1000+1480+540=4500，最后一片的偏移量（495）<em>8（字节）加上数据——3960+540=4500 也正好是数据长度。<br><br>值得注意的是，第 3 和 4 片是从原始第 2 片再次分片而来的。当一个设备必须分片最后一片时，它必须在除分出的最后一片外的其它片上设置更多分片标志。<br><br>### 组装 <br><br> 当一个接收者发现 IP 报文的下列项目之一为真时：
</em>   更多分片标志被设置；<br><em>   分片偏移量字段不为 0。<br>它便知道这个报文已被分片，并随即将数据、标识符字段、分片偏移量和更多分片标志一起储存起来。<br><br>当接受者收到了更多分片标志未被设置的分片时，它便知道原始数据载荷的总长。一旦它收齐了所有的分片，它便可以将所有片按照正确的顺序（通过分片偏移量）组装起来，并交给上层协议栈。<br><br>## 辅助协议 <br><br> 互联网协议定义并激活了 <a href=http://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E5%B1%82 title=网络层 target=_blank rel=external> 网络层 </a>，它使用一个逻辑地址系统。IP 地址并不以任何永久的方式绑定到硬件，而且事实上一个网络接口可以有许多 IP 地址。为了正确地交付一份报文，主机和路由器需要其它机制来识别设备接口和 IP 地址之间的关联。<a href=http://zh.wikipedia.org/wiki/%E5%9C%B0%E5%9D%80%E8%A7%A3%E6%9E%90%E5%8D%8F%E8%AE%AE title=地址解析协议 target=_blank rel=external> 地址解析协议 </a>（ARP）为 IPv4 执行这种 IP 地址到物理地址（<a href=http://zh.wikipedia.org/wiki/MAC%E5%9C%B0%E5%9D%80 title="MAC 地址" target=_blank rel=external>MAC 地址</a>）的转换。<br><br> 此外，反向操作有时候也是必须的，比如，一台主机在启动时需要知道自己的 IP 地址（除非地址已经被管理员预先设置）。目前被用于这一用途的协议有 <a href=http://zh.wikipedia.org/wiki/%E5%8A%A8%E6%80%81%E4%B8%BB%E6%9C%BA%E8%AE%BE%E7%BD%AE%E5%8D%8F%E8%AE%AE title=动态主机设置协议 target=_blank rel=external> 动态主机设置协议 </a>（DHCP）、<a href="http://zh.wikipedia.org/w/index.php?title=%E5%BC%95%E5%AF%BC%E5%8D%8F%E8%AE%AE&amp;action=edit&amp;redlink=1" title=引导协议 target=_blank rel=external> 引导协议</a>（BOOTP）和比较不常用的<a href="http://zh.wikipedia.org/w/index.php?title=InARP&amp;action=edit&amp;redlink=1" title=InARP target=_blank rel=external>inARP</a>。<br><br>## 参见
</em>   <a href=http://zh.wikipedia.org/wiki/%E5%88%86%E7%B1%BB%E7%BD%91%E7%BB%9C title=分类网络 target=_blank rel=external>分类网络 </a><br><em>   <a href=http://zh.wikipedia.org/wiki/%E6%97%A0%E7%B1%BB%E5%88%AB%E5%9F%9F%E9%97%B4%E8%B7%AF%E7%94%B1 title=无类别域间路由 target=_blank rel=external> 无类别域间路由</a>
</em>   <a href=http://zh.wikipedia.org/wiki/%E4%BA%92%E8%81%94%E7%BD%91%E5%8F%B7%E7%A0%81%E5%88%86%E9%85%8D%E5%B1%80 title=互联网号码分配局 target=_blank rel=external>互联网号码分配局</a><br><em>   <a href=http://zh.wikipedia.org/wiki/IPv6 title=IPv6 target=_blank rel=external>IPv6</a>
</em>   <a href="http://zh.wikipedia.org/w/index.php?title=%E5%B7%B2%E5%88%86%E9%85%8D%E7%9A%84/8%E5%9C%B0%E5%9D%80%E5%9D%97%E5%88%97%E8%A1%A8&amp;action=edit&amp;redlink=1" title="已分配的 /8 地址块列表" target=_blank rel=external>已分配的 /8 地址块列表</a><br><em>   <a href="http://zh.wikipedia.org/w/index.php?title=IP%E5%8D%8F%E8%AE%AE%E5%AD%97%E6%AE%B5%E5%80%BC%E5%88%97%E8%A1%A8&amp;action=edit&amp;redlink=1" title="IP 协议字段值列表" target=_blank rel=external>IP 协议字段值列表</a>
</em>   <a href=http://zh.wikipedia.org/wiki/%E5%8C%BA%E5%9F%9F%E4%BA%92%E8%81%94%E7%BD%91%E6%B3%A8%E5%86%8C%E7%AE%A1%E7%90%86%E6%9C%BA%E6%9E%84 title=区域互联网注册管理机构 target=_blank rel=external>区域互联网注册管理机构</a><br><br>## 参考文献<br><br><div><br><br>1.  ^ <a href=http://zh.wikipedia.org/wiki/IPV4#cite_ref-inet_0-0 target=_blank rel=external><sup><strong>1.0</strong></sup></a> <a href=http://zh.wikipedia.org/wiki/IPV4#cite_ref-inet_0-1 target=_blank rel=external><sup><strong>1.1</strong></sup></a> <a href="http://www.unix.com/man-page/Linux/3/inet_addr/" target=_blank rel=external>INET(3) man page</a> [2010-11-28].<br>2.  <strong><a href=http://zh.wikipedia.org/wiki/IPV4#cite_ref-1 target=_blank rel=external>^</a></strong> <a href=http://technology.inquirer.net/infotech/infotech/view/20110121-315808/World-running-out-of-Internet-addresses target=_blank rel=external>World ‘running out of Internet addresses’</a> [2011-01-23].<br>3.  <strong><a href=http://zh.wikipedia.org/wiki/IPV4#cite_ref-2 target=_blank rel=external>^</a></strong> IANA. <a href=http://twitter.com/theiana/status/33170437856825344 target=_blank rel=external>102, 103, 104, 179 and 185 have been allocated. No unicast IPv4 /8s remain unallocated.</a>. 2011-02-03 [2011-02-03].<br>4.  <strong><a href=http://zh.wikipedia.org/wiki/IPV4#cite_ref-3 target=_blank rel=external>^</a></strong> Huston, Geoff. <a href=http://www.potaroo.net/tools/ipv4/index.html target=_blank rel=external>IPv4 Address Report, daily generated</a> [2011-01-31].<br>5.  <strong><a href=http://zh.wikipedia.org/wiki/IPV4#cite_ref-4 target=_blank rel=external>^</a></strong> Savage, Stefan. <a href="http://portal.acm.org/citation.cfm?id=347057.347560" target=_blank rel=external>Practical network support for IP traceback</a> [2010-09-06].<br></div>
<h2 id=外部链接>外部链接</h2>
<ul>
<li><a href=http://tools.ietf.org/html/rfc791 target=_blank rel=external>RFC 791</a> — Internet Protocol（英文）</li>
<li><a href=http://tools.ietf.org/html/rfc3344 target=_blank rel=external>RFC 3344</a> — IPv4 Mobility（英文）</li>
<li><a href="http://www.iana.org/" target=_blank rel=external>IANA</a> — <strong>互联网地址分配局官方网站</strong>（英文）</li>
<li><a href=http://www.networksorcery.com/enp/protocol/ip.htm target=_blank rel=external>IP Header Breakdown, including specific options</a>（英文）</li>
<li><p><a href=http://www.networkworld.com/news/2010/060710-tech-argument-ipv6-nat.html target=_blank rel=external>IPv6 vs. carrier-grade NAT/squeezing more out of IPv4</a>（英文）<br>地址耗尽：</p>
</li>
<li><p><a href=http://www.ripe.net/rs/news/ipv4-ncc-20031030.html target=_blank rel=external>RIPE report on address consumption as of October 2003</a></p>
</li>
<li><a href=http://www.iana.org/assignments/ipv4-address-space target=_blank rel=external>Official current state of IPv4 /8 allocations, as maintained by IANA</a></li>
<li><a href=http://www.potaroo.net/tools/ipv4/index.html target=_blank rel=external>Dynamically generated graphs of IPv4 address consumption with predictions of exhaustion dates — Geoff Huston</a></li>
<li><a href=http://www.apnic.net/community/about-the-internet-community/internet-governance/articles/ip-addressing-in-china-2004 target=_blank rel=external>IP addressing in China and the myth of address shortage</a></li>
<li><a href=http://www.inetcore.com/project/ipv4ec/index_en.html target=_blank rel=external>Countdown of remaining IPv4 available addresses</a> (estimated)<br></li></ul></div><br><div id=catlinks><div id=mw-normal-catlinks>
<p><a href=http://zh.wikipedia.org/wiki/Special:%E9%A1%B5%E9%9D%A2%E5%88%86%E7%B1%BB title="Special: 页面分类" target=_blank rel=external>4 个分类</a>:</p>
<ul>
<li><a href=http://zh.wikipedia.org/wiki/Category:%E7%BD%91%E9%99%85%E5%8D%8F%E8%AE%AE title="Category: 网际协议" target=_blank rel=external>网际协议</a></li>
<li><a href=http://zh.wikipedia.org/wiki/Category:%E4%BA%92%E8%81%94%E7%BD%91%E6%A0%87%E5%87%86 title="Category: 互联网标准" target=_blank rel=external>互联网标准</a></li>
<li><a href=http://zh.wikipedia.org/wiki/Category:%E7%BD%91%E7%BB%9C%E5%B1%82%E5%8D%8F%E8%AE%AE title="Category: 网络层协议" target=_blank rel=external>网络层协议</a></li>
<li><a href=http://zh.wikipedia.org/wiki/Category:%E4%BA%92%E8%81%94%E7%BD%91%E7%BB%93%E6%9E%84 title="Category: 互联网结构" target=_blank rel=external>互联网结构</a><br></li></ul></div><br></div>
<div class=ujian-hook></div>
</div>
<footer class=article-footer>
<div class=bdsharebuttonbox>
<a href=# class=bds_tsina data-cmd=tsina title=分享到新浪微博></a>
<a href=# class=bds_qzone data-cmd=qzone title=分享到QQ空间></a>
<a href=# class=bds_tqq data-cmd=tqq title=分享到腾讯微博></a>
<a href=# class=bds_weixin data-cmd=weixin title=分享到微信></a>
<a href=# class=bds_tieba data-cmd=tieba title=分享到百度贴吧></a>
<a href=# class=bds_renren data-cmd=renren title=分享到人人网></a>
<a href=# class=bds_tqf data-cmd=tqf title=分享到腾讯朋友></a>
<a href=# class=bds_douban data-cmd=douban title=分享到豆瓣网></a>
<a href=# class=bds_tsohu data-cmd=tsohu title=分享到搜狐微博></a>
<a href=# class=bds_t163 data-cmd=t163 title=分享到网易微博></a>
<a href=# class=bds_taobao data-cmd=taobao title=分享到我的淘宝></a>
<a href=# class=bds_fx data-cmd=fx title=分享到飞信></a>
<a href=# class=bds_hi data-cmd=hi title=分享到百度空间></a>
<a href=# class=bds_more data-cmd=more></a>
</div>
<ul class=article-tag-list><li class=article-tag-list-item><a class=article-tag-list-link href=../tag/网络协议>网络协议</a></li><li class=article-tag-list-item><a class=article-tag-list-link href=../tag/计算机>计算机</a></li><li class=article-tag-list-item><a class=article-tag-list-link href=../tag/计算机网络>计算机网络</a></li></ul>
</footer>
</div>
<nav id=article-nav>
<a href="/move-blog-to-sae/" id=article-nav-newer class=article-nav-link-wrap>
<strong class=article-nav-caption>Newer</strong>
<div class=article-nav-title>
把博客迁移到了SAE
</div>
</a>
<a href="/jobs-quotations/" id=article-nav-older class=article-nav-link-wrap>
<strong class=article-nav-caption>Older</strong>
<div class=article-nav-title>史蒂夫 乔布斯 语录</div>
</a>
</nav>
</article>
<section id=comments>
<div class=ds-thread data-thread-key="ipv4-wikipedia/" data-title="IPv4 - 维基百科" data-url="http://cweili.gitcafe.com/ipv4-wikipedia/"></div>
</section>
</section>
<aside id=sidebar class=col-sm-3>
<div class="widget-wrap hidden-xs">
<h3 class=widget-title>分类</h3>
<div class=widget>
<ul class=category-list><li class=category-list-item><a class=category-list-link href=../category/学习笔记>学习笔记</a><span class=category-list-count>40</span></li><li class=category-list-item><a class=category-list-link href=../category/小生活>小生活</a><span class=category-list-count>27</span></li><li class=category-list-item><a class=category-list-link href=../category/杂物>杂物</a><span class=category-list-count>9</span></li></ul>
</div>
</div>
<div class=widget-wrap>
<h3 class=widget-title>最新评论</h3>
<div class=widget>
<div class=ds-recent-comments data-num-items=10 data-show-avatars=1 data-show-time=1 data-show-title=0 data-show-admin=1 data-excerpt-length=20>
<div class=text-center><i class="fa fa-refresh fa-spin"></i></div>
</div>
</div>
</div>
<div class=widget-wrap>
<h3 class=widget-title>最新文章</h3>
<div class=widget>
<ul>
<li>
<a href="/xixishidi/">河塘飞鸟西溪湿地</a>
</li>
<li>
<a href="/xizihu/">水光潋滟西子湖畔</a>
</li>
<li>
<a href="/xitang/">柳絮纷飞烟雨西塘</a>
</li>
<li>
<a href="/wuzhen/">灯火阑珊水映乌镇</a>
</li>
<li>
<a href="/stu3-zoo/">Stu3 Zoo</a>
</li>
<li>
<a href="/jshint-options/">JSHint配置参数详解</a>
</li>
<li>
<a href="/css3-jquery-rocket-to-top/">CSS3动画与jQuery实现返回顶部小火箭</a>
</li>
<li>
<a href="/rebuild-blog-gitcafe/">再一次重建我的博客</a>
</li>
<li>
<a href="/java-poi-excel/">Java使用POI创建Excel图表</a>
</li>
<li>
<a href="/hibernate-connect-sqlite-paging-bug-repair/">Hibernate 连接 SQLite (hibernate-sqlite) 分页bug的修复</a>
</li>
<li>
<a href="/web-page-color-chart/">更全的网页颜色表</a>
</li>
<li>
<a href="/quarrying-rocky-4/">20120407春游采石矶(四)</a>
</li>
<li>
<a href="/quarrying-rocky-3/">20120407春游采石矶(三)</a>
</li>
<li>
<a href="/quarrying-rocky-2/">20120407春游采石矶(二)</a>
</li>
<li>
<a href="/quarrying-rocky/">20120407春游采石矶(一)</a>
</li>
<li>
<a href="/ahpu-spring/">安徽工程大学的春天</a>
</li>
<li>
<a href="/helps-students-assembled-computer/">帮同学组装帅气小机箱电脑一台</a>
</li>
<li>
<a href="/nanjing-trip-4/">20120310南京二日行(四)</a>
</li>
<li>
<a href="/nanjing-trip-3/">20120310南京二日行(三)</a>
</li>
<li>
<a href="/nanjing-trip-2/">20120310南京二日行(二)</a>
</li>
</ul>
</div>
</div>
<div class="widget-wrap hidden-xs">
<h3 class=widget-title>手机阅读</h3>
<div class=widget>
<div class=qrcode style="background-image:url(http://qr.liantu.com/api.php?bg=eeeeee&fg=000000&el=l&w=192&m=0&text=http://cweili.gitcafe.com/ipv4-wikipedia/)"></div>
</div>
</div>
<div class="widget-wrap hidden-xs">
<h3 class=widget-title>标签云</h3>
<div class="widget tagcloud">
<a href=../tag/acm style=font-size:10px>ACM</a><a href=../tag/c++ style=font-size:15.71px>C++</a><a href=../tag/css style=font-size:10px>CSS</a><a href=../tag/fedora style=font-size:15.71px>Fedora</a><a href=../tag/gnome style=font-size:11.43px>Gnome</a><a href=../tag/hibernate style=font-size:10px>Hibernate</a><a href=../tag/jshint style=font-size:10px>JSHint</a><a href=../tag/java style=font-size:11.43px>Java</a><a href=../tag/javascript style=font-size:12.86px>JavaScript</a><a href=../tag/linux style=font-size:17.14px>Linux</a><a href=../tag/pdo style=font-size:10px>PDO</a><a href=../tag/php style=font-size:12.86px>PHP</a><a href=../tag/poi style=font-size:10px>POI</a><a href=../tag/photoshop style=font-size:14.29px>Photoshop</a><a href=../tag/sae style=font-size:10px>SAE</a><a href=../tag/sql style=font-size:14.29px>SQL</a><a href=../tag/sqlite style=font-size:11.43px>SQLite</a><a href=../tag/stl style=font-size:11.43px>STL</a><a href=../tag/stu3 style=font-size:10px>Stu3</a><a href=../tag/twitter style=font-size:10px>Twitter</a><a href=../tag/virtualbox style=font-size:10px>VirtualBox</a><a href=../tag/jquery style=font-size:10px>jQuery</a><a href=../tag/三国杀 style=font-size:15.71px>三国杀</a><a href=../tag/乌镇 style=font-size:10px>乌镇</a><a href=../tag/互联网 style=font-size:10px>互联网</a><a href=../tag/动漫 style=font-size:11.43px>动漫</a><a href=../tag/动画 style=font-size:10px>动画</a><a href=../tag/南京 style=font-size:14.29px>南京</a><a href=../tag/博客 style=font-size:14.29px>博客</a><a href=../tag/实验 style=font-size:15.71px>实验</a><a href=../tag/容器 style=font-size:11.43px>容器</a><a href=../tag/小说 style=font-size:10px>小说</a><a href=../tag/微博 style=font-size:11.43px>微博</a><a href=../tag/心情 style=font-size:14.29px>心情</a><a href=../tag/摄影 style=font-size:17.14px>摄影</a><a href=../tag/操作系统 style=font-size:14.29px>操作系统</a><a href=../tag/数据库 style=font-size:18.57px>数据库</a><a href=../tag/旅行 style=font-size:20px>旅行</a><a href=../tag/日记 style=font-size:17.14px>日记</a><a href=../tag/杭州 style=font-size:11.43px>杭州</a>
</div>
</div>
<div class="widget-wrap hidden-xs">
<h3 class=widget-title>归档</h3>
<div class=widget>
<ul class=archive-list><li class=archive-list-item><a class=archive-list-link href=../archive/2014/09>September 2014</a><span class=archive-list-count>4</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2014/08>August 2014</a><span class=archive-list-count>4</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2012/09>September 2012</a><span class=archive-list-count>1</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2012/05>May 2012</a><span class=archive-list-count>2</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2012/04>April 2012</a><span class=archive-list-count>5</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2012/03>March 2012</a><span class=archive-list-count>5</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2011/12>December 2011</a><span class=archive-list-count>4</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2011/11>November 2011</a><span class=archive-list-count>18</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2011/10>October 2011</a><span class=archive-list-count>32</span></li><li class=archive-list-item><a class=archive-list-link href=../archive/2011/05>May 2011</a><span class=archive-list-count>2</span></li></ul>
</div>
</div>
<div class="widget-wrap hidden-xs">
<h3 class=widget-title>友情链接</h3>
<div class=widget>
<ul>
<li>
<a href=http://cweili.gitcafe.com target=_blank>主页</a>
</li>
</ul>
</div>
</div>
</aside>
</div>
<footer id=footer>
<div class=footer-wrap>
<div class=outer>
<div class=inner>
<div id=social-network>
<a class=link href=https://github.com/Cweili target=_blank><i class="fa fa-fw fa-github"></i></a>
<a class=link href=http://weibo.com/cweili target=_blank><i class="fa fa-fw fa-weibo"></i></a>
</div>
<div id=footer-info>
&copy; 2014 <a href=http://cweili.gitcafe.com target=_blank>Cweili</a><br>
Powered by <a href="http://hexo.io/" target=_blank>Hexo</a>.
Theme by <a href=http://cweili.gitcafe.com target=_blank>Cweili</a>.
</div>
</div>
</div>
</div>
</footer>
</div>
</div>
<div id=rocket-to-top>
<div class=onhover></div>
<div class=anim></div>
</div>
<link rel=stylesheet href=//libs.baidu.com/fontawesome/4.0.3/css/font-awesome.min.css css type=text/css>
<script src=//libs.baidu.com/jquery/1.11.1/jquery.min.js type=text/javascript></script><link rel=stylesheet href=//cdn.staticfile.org/fancybox/2.1.5/jquery.fancybox.min.css type=text/css>
<script src=//cdn.staticfile.org/fancybox/2.1.5/jquery.fancybox.min.js type=text/javascript></script><script src=../js/script.js type=text/javascript></script><script type=text/javascript>var duoshuoQuery={short_name:"cweiligitcafe"};</script><script src=//static.duoshuo.com/embed.js type=text/javascript></script><script type=text/javascript>var ujian_config={num:10,showType:3};</script><script src="http://v1.ujian.cc/code/ujian.js?uid=1539214&_=.js" type=text/javascript></script><script type=text/javascript>window._bd_share_config={common:{bdSnsKey:{},bdPopTitle:"分享到",bdMini:2,bdPopupOffsetLeft:28,bdPopupOffsetTop:108,bdMiniList:["sqq","mshare","bdysc","kaixin001","ibaidu","baidu","ff","qy","meilishuo","mogujie","diandian","ty","youdao","sdo"],bdPic:"",bdStyle:1,bdSize:"24"},share:{},image:{viewList:["tsina","qzone","tqq","weixin","tieba","renren","tqf","douban","tsohu","t163","taobao","fx","hi"],viewText:" ",viewSize:"24"},selectShare:{bdContainerClass:"article",bdSelectMiniList:["tsina","qzone","tqq","weixin","tieba","renren","tqf","douban","tsohu","t163","taobao","fx","hi"]}},document.write('<script type="text/javascript" src="http://bdimg.share.baidu.com/static/api/js/share.js?cdnversion='+~(-new Date/36e5)+'"><\/script>');</script><div id=stat-wrap>
<script src="http://s19.cnzz.com/stat.php?id=1252976445&web_id=1252976445" type=text/javascript></script></div></body></html>